using System;

namespace PHSRAG.Insight21.Purchasing.Enumerations
{
	#region Enum 

	/// <summary>
	/// Flags to be used to instruct business objects about the Search Elements	for
	/// POAP Summary and Order Details Pages
	/// </summary>
	public enum SearchElements
	{
		DomainUserId, 
		// pass the Search Parameters for Purchasing
		PONumber , 
		VoucherNumber , 
		OrderTypeId , 
		VendorId ,
		VendorName , 
		FundId , 
		FundNumber , 
		RequestorName , 
		PIId,
		LabId,
		AccountNumber , 
		AccountCategoryId,
		RequisitionNumber , 
		ExpenseStatus,
		InvoiceNumber , 
		JournalNumber , 
		TransactionType , 
		TransactionTypeFrom , 
		TransactionTypeTo , 
		EnteredBy , 
		LocationId , 
		ChiefCodeList  
	}

	/// <summary>
	/// Flags to be used to instruct business objects about the Search Elements	for
	/// UserOrder Page
	/// </summary>
	public enum UserOrderSearchElements
	{
		TransactionTypeFrom , 
		TransactionTypeTo
	}

	public enum OrderView
	{
		OrderSummary,
		OrderDetails
	}
	public enum ExpenseStatus
	{
		All,
		Paid,
		Unpaid
	}

	public enum PeopleSoftOrderType
	{
		POAP = 0,
		PO,
		AP,
		JE
	}

	
	/// <summary>
	/// List of POAP Summary Screen Element Columns
	/// </summary>
	public enum SummaryScreenElements
	{
		OrderDate ,
		OrderTypeId, //Invisible
		OrderType , 															
		OrderNumber , 
		ToolTip,
		VendorName , 
		RequestorName , 
		FundNumber , 
       
		OrderAmount , 
		ExpensedToDate , 
		EncumbranceAmount , 
		InvoiceAmount , 
		Source  ,
         ShiptTo
	}
	
	/// <summary>
	/// List of Screen Element Columns
	/// </summary>
	public enum OrderDetailColumns
	{
		FundNumber,
		AccountCategoryName,
		AccountNumber,
		OrderTypeId, // invisible column
		OrderType,
		OrderNumber,
		ToolTip ,//(  its invisible column, and is used to display tool tip on Order Number column)
		RequestorName,
		InvoiceDate,
		Description,
		Quantity,
		OrderAmount,
		InvoiceAmount,
		OrderAccountingDate,
		Source
	}

	/// <summary>
	/// Determines the data to be displayed on reconcile page.
	/// </summary>
	public enum ReconcileType 
	{
		UnMatched = 0,
		Matched
	}

	/// <summary>
	/// Enumerates the transaction date search options provided 
	/// by the dropdownlist.
	/// </summary>
	public enum DateWithin
	{
		ThirtyDays			=	30,
		SixtyDays			=	60,
		NinetyDays			=	90
	}

	/// <summary>
	/// Enumerates user order types within insight.
	/// </summary>
	public enum OrderType
	{
		PurchaseOrder		=	1,
		TravelVoucher		=	2,
		ChequeRequest		=	3,
		JournalEntry		=	4,
		PettyCash			=	5
	}

	/// <summary>
	/// Searchable date types for purchasing transactions.
	/// </summary>
	public enum TransactionDateType 
	{
		OrderDate = 1,
		InvoiceDate,
		VoucherAccountingLineDate
	}
	#endregion
}
// --- EOF ---